package Demo1;

import java.util.Arrays;

class MyArray<T> {  //尖括号里一定是个应用类型
    public T[] array = (T[])new Object[10]; //不能new泛型类型的数组的 所以只有用object来转换
    //擦出机制，在编译的时候把泛型T擦除为了Object，在运行的时候不存在泛型
    public T getPos(int pos) {
        return this.array[pos];
    }
    public void setVal(int pos, T val) {
        this.array[pos] = val;
    }

    @Override
    public String toString() {
        return "MyArray{" +
                "array=" + Arrays.toString(array) +
                '}';
    }
}
public class Test1 {
    public static void main(String[] args) {
        MyArray<Integer> myArray1 = new MyArray<>();
        myArray1.setVal(0,10);

        MyArray<String> myArray2 = new MyArray<>();
        myArray2.setVal(0,"dasd");

        System.out.println(myArray1);
        System.out.println(myArray2);
    }
}
